package com.xsd.parser;

import com.xsd.parser.parse.impl.ExcelParseToCollectionImpl;
import com.xsd.parser.util.FileUtil;
import com.xsd.parser.util.XMLUtil;
import com.xsd.parser.util.XsdParserUtil;

import java.io.File;
import java.io.IOException;

/**
 * 转化xls 到 xsd
 */
public class XsdParserMain {

    public static void main(String[] args){
        try {
            if (args.length < 2){
                System.out.println("参数格式必须是两个，一个是待转文件名称，一个是转出文件名称！");
                System.exit(1);
            }
            System.out.println(args[0] +"-----------"+ args[1]);
            ExcelParseToCollectionImpl excelParseToCollection = new ExcelParseToCollectionImpl(args[0]);
            XsdParserUtil xsdParserUtil = new XsdParserUtil(excelParseToCollection);
            FileUtil.saveTo(XMLUtil.convertToXml(xsdParserUtil.parserSchema()),args[1]);
            System.out.println("执行成功！！！！！！");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 获取当前目录下的第一个excel文件
     * @return 是否是可转换文件
     */
    public static File checkFile(String path)
    {
        File file = new File(path);
        if (!file.isFile()) {
            System.out.println("待转换的文件不存在(文件名称和路径禁止存在空格)!");
            System.exit(1);
        }else{
            if (!(file.getName().endsWith(".xls") || file.getName().endsWith(".xlsx"))){
                System.out.println("待转换的文件类型不对，必须是xls，xlsx类型!");
                System.exit(1);
            }
        }
        System.out.println("文件绝对路径：" + file.getAbsolutePath());
        return file;
    }
}
